一、 前言
在開發網頁應用程式時,最常遇到的痛點之一就是「重新整理網頁,辛苦寫好的資料或測驗結果就全部歸零了」。在前幾天的實作中,我們的 AI 學生助手雖然具備強大的 PDF 解析與隨堂考功能,但缺乏歷史紀錄的保存。今天,我們將動手實作 紀錄持久化機制,讓學生的學習足跡與錯題集得以被永久保留!
二、 核心技術與架構設計
1.輕量化 JSON 儲存方案:
相較於大型關聯式資料庫,對於單機或輕量雲端部署的 Streamlit 應用來說,使用 Python 內建的 json 模組搭配檔案讀寫(open(..., 'w', encoding='utf-8')),是最快速且零成本($0-cost)的完美方案。
2.防編碼錯誤的字集宣告:
在處理中文測驗與對話紀錄時,務必加上 encoding='utf-8' 與 ensure_ascii=False,徹底避免 Windows 系統常見的亂碼或序列化錯誤。
3.Session State 與本地檔案雙向同步:
結合 Streamlit 的狀態管理,讓每次生成新考題時自動寫入 chat_history.json,重啟網頁也能自動回填紀錄。
三、實作
專案根目錄下的 utils/ 資料夾建立 db.py
在pages資料夾裡新增pages/02_📝_自動隨堂考.py


在terminal輸入:"streamlit run app.py"
四、成果展示
五、結語
今天我們成功解決了資料容易遺失的痛點,讓 AI 學生助手正式擁有了「長期記憶」!